libobs_simple\sources\linux\sources/
alsa_input.rs1use libobs_wrapper::sources::{ObsSourceBuilder, ObsSourceRef};
2
3use crate::sources::macro_helper::define_object_manager;
4
5define_object_manager!(
6 #[derive(Debug)]
7 struct AlsaInputSource("alsa_input_capture") for ObsSourceRef {
12 #[obs_property(type_t = "string")]
14 device_id: String,
15
16 #[obs_property(type_t = "string")]
18 custom_pcm: String,
19
20 #[obs_property(type_t = "int")]
22 rate: i64,
23 }
24);
25
26impl AlsaInputSourceBuilder {
27 pub fn set_custom_device(self, pcm_device: &str) -> Self {
29 self.set_device_id("__custom__").set_custom_pcm(pcm_device)
30 }
31
32 pub fn set_alsa_device(self, device: &str) -> Self {
34 self.set_device_id(device)
35 }
36}
37
38impl ObsSourceBuilder for AlsaInputSourceBuilder {}